WOLF Core

WOLF uses C++14.

You can install the WOLF Core engine in a few simple steps detailed below.

Clone repository

git clone -b main https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_lib/wolf.git

Important

As WOLF contains several plugins, we recommend you that you clone all repositories in the same folder.

Compile & Install

We assume you do not have renamed the default WOLF core folder, which is wolf:

cd wolf
mkdir build && cd build
cmake ..
make -j4
sudo make install

Local installation (without sudo)

WOLF can also be installed in a local folder <prefix> (no sudo needed). Install everything built from source in the same <prefix>: yaml-schema-cpp, WOLF core and the plugins (the dependencies downloaded by the plugins, such as gnss_utils and CSM, are installed with them). For each of them, configure with -DCMAKE_INSTALL_PREFIX and install without sudo:

cmake -DCMAKE_INSTALL_PREFIX=<prefix> ..
make -j4
make install

Then set these two environment variables (add them to your ~/.bashrc):

export CMAKE_PREFIX_PATH=<prefix>:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=<prefix>/lib:$LD_LIBRARY_PATH
  • CMAKE_PREFIX_PATH: to find WOLF when compiling the plugins and the ROS2 packages.

  • LD_LIBRARY_PATH: to find the installed libraries and plugins at runtime (e.g. when running the ROS2 nodes).

The ROS2 packages are compiled and run as usual, in a terminal with these two variables set. If an older WOLF is still installed in the system (e.g. in /usr/local), these variables make sure that the local one is used.

Note

The installation script does all this with the option -l <prefix>.

Run tests

ctest -j4